package cn.hznc.repository;

import cn.hznc.domain.entity.MachineToolDataLog;
import cn.hznc.domain.request.device.DataLogMachineToolGroupReq;
import cn.hznc.domain.request.device.MachineToolDataDetailReq;
import cn.hznc.domain.request.order.QueryOrderReq;
import cn.hznc.vo.AnalysisReportOnMachineToolUsageIndexVo;
import cn.hznc.vo.ToolLifeDataIndexVo;
import cn.hznc.vo.ToolReportVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author：Administrator
 * @Date：2023/9/6 15:36
 */
public interface MachineToolDataLogRepository{

    List<MachineToolDataLog> selectDataLog(@Param("uniqueId") String uniqueId);

    List<ToolReportVo> selectToolReportByTaskId(@Param("taskId") String taskId , @Param("id") Integer id);

    List<MachineToolDataLog> selectDataLogList(@Param("uniqueId") String uniqueId);
    List<MachineToolDataLog> selectDataLogListReload(@Param("uniqueId") String uniqueId);

    List<ToolLifeDataIndexVo> qryToolLifeDataIndex(@Param("toolNo") String toolNo);

    List<AnalysisReportOnMachineToolUsageIndexVo> AnalysisReportOnMachineToolUsage(@Param("dataLogMachineToolGroupReq") DataLogMachineToolGroupReq dataLogMachineToolGroupReq);

    List<MachineToolDataLog> machineToolDataLogDetail(MachineToolDataDetailReq machineToolDataDetailReq);

    List<Integer> groupByPoisition(@Param("warehouseId") Integer warehouseId);

    MachineToolDataLog selectByPosition(@Param("position") Integer position,@Param("warehouseId") Integer warehouseId,@Param("toolNo") String toolNo,@Param("toolLength") String toolLength,@Param("toolRadius") String toolRadius);

    void deleteByTaskIds(@Param("taskIds") List<String> taskIds);

    List<MachineToolDataLog> selectReportOnMachineToolUsageReload(@Param("queryProcessReq") QueryOrderReq queryProcessReq);
}
